﻿Public Class SolicitudServicio_1

    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        seguridad.verificapermisos()
        txtSolicitante.Text = seguridad.usuaronombrecompleto1
        comoempresa.SelectedValue = seguridad.empresa1
        combodepto.SelectedValue = seguridad.departamento1

    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click

        seguridad.descripcionsolicitud = txtdescrip.Text

        '////////////////////////////////////////
        Dim Fecha As String
        Dim hora As String
        hora = Convert.ToString(TimeOfDay.TimeOfDay.ToString)
        Fecha = Date.Today.ToString("dd/MM/yyyy")
        Dim Permiso As String = 0
        Dim estado As String = "No procesado"
        '////////////////////////////////////////

        '///////////////////////////////variables para enviar por correo sobre la solicitud////////////////

        correo.solicituDepto = combodepto.SelectedItem.Text
        correo.solicitudEmpresa = comoempresa.SelectedItem.Text
        correo.solicitudEmpleadoname = txtSolicitante.Text



        '///////////////////////////////////////////////////////////////////////////////////////////



        '/////////////////////////////////////////////////////////////////////////////
        Dim tablesolicitudes As DataSet1TableAdapters.solicitudesTableAdapter
        Dim tabladetalleuser As DataSet1TableAdapters.detalleusuarioTableAdapter
        Dim tablausuer As DataSet1TableAdapters.usuariosTableAdapter
        '/////////////////////////////////////////////////////////////////////////////





        '//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        'tablesolicitudes.InsertQuery(hora, Fecha, combodepto.Value, comoempresa.Value, txtdescrip.Text, 0, 0, seguridad.usuarioid1, comoempresa.Value, 2)
        ' Dim nombre As String = tablausuer.GetDataBy1BuscaPorNivelusuario(3).Item(0).departamentoid
        Try
            Dim query As String = String.Format("SELECT usuarioid, usuarionombrecompleto,usuarioemail ,empresaid, departamentoid,rangoid FROM    usuarios WHERE rangoid = '{0}' ", 3) 'tecnico
            Dim con As New Devart.Data.PostgreSql.PgSqlConnection(seguridad.conexion) ' hacemos la conexion , pero la traemos desde clase seguridad
            con.Open()
            Dim Ejec1 As New Devart.Data.PostgreSql.PgSqlCommand(query, con)

            Dim registro As Devart.Data.PostgreSql.PgSqlDataReader = Ejec1.ExecuteReader()



            While registro.Read()

                If Convert.ToString(registro.Item("usuarioemail")) <> "" Then
                    seguridad.tecniconame = Convert.ToString(registro.Item("usuarionombrecompleto"))
                    correo.enviacorreos(Convert.ToString(registro.Item("usuarioemail")), 1, 2)
                End If

                registro.NextResult()

            End While
            'cerramos conexion del query buscaemail
            con.Close()


        Catch ex As Exception

        End Try


        '/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        'Busca los admini y manda correo
        Try

            Dim query2 As String = String.Format("SELECT usuarioid, usuarionombrecompleto,usuarioemail ,empresaid, departamentoid,rangoid FROM    usuarios WHERE rangoid = '{0}' ", 1) 'admin
            Dim con2 As New Devart.Data.PostgreSql.PgSqlConnection(seguridad.conexion) ' hacemos la conexion , pero la traemos desde clase seguridad
            con2.Open()
            Dim Ejec2 As New Devart.Data.PostgreSql.PgSqlCommand(query2, con2)
            Dim registro2 As Devart.Data.PostgreSql.PgSqlDataReader = Ejec2.ExecuteReader()

            While registro2.Read()
              
                If Convert.ToString(registro2.Item("usuarioemail")) <> "" Then
                   
                    seguridad.tecniconame = Convert.ToString(registro2.Item("usuarionombrecompleto"))
                    correo.enviacorreos(Convert.ToString(registro2.Item("usuarioemail")), 1, 2)
                  
                End If


                registro2.NextResult()

            End While
            con2.Close()

        Catch ex As Exception

        End Try

        '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        'insertando en la db la solicitud
        Try


            'MsgBox(seguridad.usuarioid1)
            Dim query2 As String = String.Format("INSERT INTO solicitudes (hora, fecha, departamentoid, empresasid, descripcion, estado, permiso, usuarioid, servicioid)    VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}','{6}', '{7}', '{8}')", hora, Fecha, combodepto.SelectedValue, comoempresa.SelectedValue, txtdescrip.Text, estado, Permiso, seguridad.usuarioid1, combotiposolicitud.SelectedValue)
            Dim conn As New Devart.Data.PostgreSql.PgSqlConnection(seguridad.conexion) ' hacemos la conexion , pero la traemos desde clase seguridad

            Dim Ejec2 As New Devart.Data.PostgreSql.PgSqlCommand(query2, conn)
            conn.Open()

            ''Ejec2.BeginExecuteNonQuery()
            Ejec2.ExecuteNonQuery()
            conn.Close()
        Catch ex As Exception
            MsgBox("No se pudo insertar el registro en la base de datos")
        End Try




        Dim opcion As Integer
        opcion = MsgBox("¿Desea crear otra solicitud?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Solicitud envidad exitosamente")
        If opcion = vbYes Then
            Try
                txtdescrip.Text = ""
                combotiposolicitud.Text = ""
                combodepto.Text = ""
                comoempresa.Text = ""


            Catch ex As Exception
                MsgBox("Lo sentimos, no se puedo resolver su solicitud", MsgBoxStyle.Critical, "Error")
            End Try
        Else
            System.Web.HttpContext.Current.Response.Redirect("~/inicio1.aspx")

        End If


    End Sub

 

End Class